You are here: E20 Examples > Interfacing the E20 Gateway with Cloud Services

Interfacing the E20 Gateway with Cloud Services

This example demonstrates a full "node to cloud" data monitoring solution using the E20 Gateway and SNAP nodes using the following products:

  • One E20 Gateway
    • Using DHCP on the Ethernet Port for Internet access
    • Using the internal SNAP node for SNAP Network access
  • Two SN171 proto boards with RF220 modules installed
  • One SN132 USB SNAP Stick
  • The Synapse Portal software
  • A cloud IoT service, such as:
    • Amazon AWS IoT
    • Adafruit IO
    • Exosite's Portals
    • Initial State

The application server for these examples uses the SNAP Connect Python library to communicate over a SNAP bridge device to the wireless sensor nodes, and the Tornado Python library to communicate with a remote API. Both the SNAP Connect Python library and the Tornado Python library are high-performance asynchronous services, and they work really well together.

Common Setup

These setup steps are common to all of the examples included here, regardless of the cloud service used.

NOTE: If you've run the "Gateway-Hosted Web Server" demo, some of these steps are already complete.

Connect the Bridge Device

Connect the SN132 to your PC by plugging it into any available USB port.

Install the Portal Software

If you have not already done so, download and install the Synapse Portal IDE.

The Synapse Portal IDE provides complete embedded module development tools, as well as wireless sniffer capability. The latest version is always available from:

https://forums.synapse-wireless.com/showthread.php?t=9

Setup the SN171s

Copy the contents of this project's snappyImages directory to your Portal/snappyImages directory. Apply power to the SN171s.

Now you can connect Portal to the SN132 as a bridge node and upload the demo_sn171.py script into the SN171s.

Please make a note of the SNAP Addresses of the two SN171 nodes - you will need this information later.

Install Python 2.7.9

The E20 runs Ubuntu 14.04, which comes with Python 2.7.6 by default. Python 2.7.9 or later is required for interacting with AWS IoT and Exosite, so we need to build it for the E20. If you do not already have Python 2.7.9 installed, clone this project onto the E20 and run sudo ./install-python2.7.9.sh to build and install it.

Instructions for the Different Cloud Services

Once the basic setup above is finished, you can follow the instructions below to interface with the listed cloud service: